Azure Maps Data Service (preview:1.0)

2025/08/14 • 5 deleted methods

Data_UploadPreview (removed)
Description **Applies to:** S1 pricing tier. The Data Upload API allows the caller to upload data content to the Azure Maps service. You can use this API in a scenario like uploading a collection of Geofences in `GeoJSON` format, for use in our [Azure Maps Geofencing Service](/rest/api/maps/spatial). > [!NOTE] > > **Azure Maps Data service retirement** > > The Azure Maps Data service (both [v1](/rest/api/maps/data?view=rest-maps-1.0) and [v2](/rest/api/maps/data)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](/azure/azure-maps/how-to-create-data-registries). ## Submit Upload Request To upload your content you will use a `POST` request. The request body will contain the data to upload. The `Content-Type` header will be set to the content type of the data. For example, to upload a collection of geofences in `GeoJSON` format, set the request body to the geofence content. Set the `dataFormat` query parameter to _geojson_, and set the `Content-Type` header to either one of the following media types: - `application/json` - `application/vnd.geo+json` - `application/octet-stream` Here's a sample request body for uploading a simple Geofence represented as a circle geometry using a center point and a radius. The sample below is in `GeoJSON`: ```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` The Data Upload API performs a long-running operation. ## Data Upload Limits Please, be aware that currently every Azure Maps account has a [data storage limit](/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. You can always use the [Data Delete API](/rest/api/maps/data/delete?view=rest-maps-1.0) to delete old/unused content and create space for new uploads.
Reference Link ¶

⚼ Request

POST:  /mapData/upload
{
x-ms-client-id: string ,
subscription-key: string ,
api-version: string ,
dataFormat: string ,
UploadContent: object ,
}

⚐ Response (200)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (201)

{
$headers:
{
location: string ,
}
,
$schema:
{
operationId: string ,
status: enum ,
created: string ,
resourceLocation: string ,
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
warning:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
,
}

⚐ Response (202)

{
location: string ,
}

⚐ Response (400)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (401)

{
$headers:
{
www-authenticate: string ,
}
,
$schema:
{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
,
}

⚐ Response (403)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (404)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (500)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
Data_UpdatePreview (removed)
Description **Applies to:** S1 pricing tier. The Data Update API allows the caller to update a previously uploaded data content. You can use this API in a scenario like adding or removing geofences to or from an existing collection of geofences. Geofences are uploaded using the [Data Upload API](/rest/api/maps/data/upload?view=rest-maps-1.0), for use in the [Azure Maps Geofencing Service](/rest/api/maps/spatial). Please note that the Update API will *replace* and *override* the existing data content. > [!NOTE] > > **Azure Maps Data service retirement** > > The Azure Maps Data service (both [v1](/rest/api/maps/data?view=rest-maps-1.0) and [v2](/rest/api/maps/data)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](/azure/azure-maps/how-to-create-data-registries). ## Submit Update Request To update your content you will use a `PUT` request. The request body will contain the new data that will replace the existing data. The `Content-Type` header will be set to the content type of the data, and the path will contain the `udid` of the data to be update. For example, to update a collection of geofences that were previously uploaded using the Upload API, place the new geofence content in the request body. Set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. And set the `Content-Type` header to one of the following media types: - `application/json` - `application/vnd.geo+json` - `application/octet-stream` Here's a sample request body for updating a simple Geofence. It's represented as a circle geometry using a center point and a radius. The sample below is in `GeoJSON`: ```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ``` The previously uploaded geofence had a radius of 100m. The above request will update it to 500m. The Data Update API performs a long-running operation. ## Data Update Limits Please, be aware that currently every Azure Maps account has a [data storage limit](/azure/azure-resource-manager/management/azure-subscription-service-limits#azure-maps-limits). Once the storage limit is reached, all the new upload API calls will return a `409 Conflict` http error response. You can always use the [Data Delete API](/rest/api/maps/data/delete?view=rest-maps-1.0) to delete old/unused content and create space for new uploads.
Reference Link ¶

⚼ Request

PUT:  /mapData/{udid}
{
x-ms-client-id: string ,
subscription-key: string ,
api-version: string ,
udid: string ,
UpdateContent: object ,
}

⚐ Response (200)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (201)

{
$headers:
{
location: string ,
}
,
$schema:
{
operationId: string ,
status: enum ,
created: string ,
resourceLocation: string ,
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
warning:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
,
}

⚐ Response (202)

{
location: string ,
}

⚐ Response (400)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (401)

{
$headers:
{
www-authenticate: string ,
}
,
$schema:
{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
,
}

⚐ Response (403)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (404)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (500)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
Data_DownloadPreview (removed)
Description **Applies to:** S1 pricing tier.
This API allows the caller to download a previously uploaded data content.
You can use this API in a scenario like downloading an existing collection of geofences uploaded previously using the [Data Upload API](/rest/api/maps/data/upload?view=rest-maps-1.0) for use in our [Azure Maps Geofencing Service](/rest/api/maps/spatial). > [!NOTE] > > **Azure Maps Data service retirement** > > The Azure Maps Data service (both [v1](/rest/api/maps/data?view=rest-maps-1.0) and [v2](/rest/api/maps/data)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](/azure/azure-maps/how-to-create-data-registries). ### Submit Download Request To download your content you will use a `GET` request where the path will contain the `udid` of the data to download. Optionally, you can also pass in an `Accept` header to specify a preference for the `Content-Type` of the data response.
For example, to download a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response and set the `Accept` header to either one of the following media types: - `application/json` - `application/vnd.geo+json` - `application/octet-stream` ### Download Data Response The Download API will return a HTTP `200 OK` response if the data resource with the passed-in `udid` is found, where the response body will contain the content of the data resource.
A HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found.
Here's a sample response body for a simple geofence represented in `GeoJSON` uploaded previously using the Upload API:
```json { "type": "FeatureCollection", "features": [{ "type": "Feature", "geometry": { "type": "Point", "coordinates": [-122.126986, 47.639754] }, "properties": { "geometryId": "001", "radius": 500 } }] } ```
Reference Link ¶

⚼ Request

GET:  /mapData/{udid}
{
x-ms-client-id: string ,
subscription-key: string ,
api-version: string ,
udid: string ,
}

⚐ Response (200)

{
$headers:
{
content-type: string ,
}
,
$schema: object ,
}

⚐ Response (400)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (401)

{
$headers:
{
www-authenticate: string ,
}
,
$schema:
{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
,
}

⚐ Response (403)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (404)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (500)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
Data_DeletePreview (removed)
Description **Applies to:** S1 pricing tier.
This API allows the caller to delete a previously uploaded data content.
You can use this API in a scenario like removing geofences previously uploaded using the [Data Upload API](/rest/api/maps/data/upload?view=rest-maps-1.0) for use in our [Azure Maps Geofencing Service](/rest/api/maps/spatial). You can also use this API to delete old/unused uploaded content and create space for new content. > [!NOTE] > > **Azure Maps Data service retirement** > > The Azure Maps Data service (both [v1](/rest/api/maps/data?view=rest-maps-1.0) and [v2](/rest/api/maps/data)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](/azure/azure-maps/how-to-create-data-registries). ### Submit Delete Request To delete your content you will issue a `DELETE` request where the path will contain the `udid` of the data to delete.
For example, to delete a collection of geofences previously uploaded using the Upload API, set the `udid` parameter in the path to the `udid` of the data received previously in the upload API response. ### Delete Data Response The Data Delete API returns a HTTP `204 No Content` response with an empty body, if the data resource was deleted successfully.
A HTTP `400 Bad Request` error response will be returned if the data resource with the passed-in `udid` is not found.
Reference Link ¶

⚼ Request

DELETE:  /mapData/{udid}
{
x-ms-client-id: string ,
subscription-key: string ,
api-version: string ,
udid: string ,
}

⚐ Response (204)

{
$schema: object ,
}

⚐ Response (400)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (401)

{
$headers:
{
www-authenticate: string ,
}
,
$schema:
{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
,
}

⚐ Response (403)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (404)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (500)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
Data_ListPreview (removed)
Description **Applies to:** S1 pricing tier.
This API allows the caller to fetch a list of all content uploaded previously using the [Data Upload API](/rest/api/maps/data/upload?view=rest-maps-1.0). > [!NOTE] > > **Azure Maps Data service retirement** > > The Azure Maps Data service (both [v1](/rest/api/maps/data?view=rest-maps-1.0) and [v2](/rest/api/maps/data)) is now deprecated and will be retired on 9/16/24. To avoid service disruptions, all calls to the Data service will need to be updated to use the Azure Maps [Data Registry](/rest/api/maps/data-registry) service by 9/16/24. For more information, see [How to create data registry](/azure/azure-maps/how-to-create-data-registries). ### Submit List Request To list all your map data content you will issue a `GET` request with no additional parameters. ### List Data Response The Data List API returns the complete list of all data in `json` format. The response contains the following details for each data resource: > udid - The unique data id for the data resource. > location - The location of the data resource. Execute a HTTP `GET` on this location to download the data. Here's a sample response returning the `udid` and `location` of 3 data resources:
```json { "mapDataList": [ { "udid": "9a1288fa-1858-4a3b-b68d-13a8j5af7d7c", "location": "https://atlas.microsoft.com/mapData/9a1288fa-1858-4a3b-b68d-13a8j5af7d7c?api-version=1.0", "sizeInBytes": 29920, "uploadStatus": "Completed" }, { "udid": "8b1288fa-1958-4a2b-b68e-13a7i5af7d7c", "location": "https://atlas.microsoft.com/mapData/8b1288fa-1958-4a2b-b68e-13a7i5af7d7c?api-version=1.0", "sizeInBytes": 1339, "uploadStatus": "Completed" }, { "udid": "7c1288fa-2058-4a1b-b68f-13a6h5af7d7c", "location": "https://atlas.microsoft.com/mapData/7c1288fa-2058-4a1b-b68f-13a6h5af7d7c?api-version=1.0", "sizeInBytes": 1650, "uploadStatus": "Pending" }] } ```
Reference Link ¶

⚼ Request

GET:  /mapData
{
x-ms-client-id: string ,
subscription-key: string ,
api-version: string ,
}

⚐ Response (200)

{
$headers:
{
content-type: string ,
}
,
$schema:
{
mapDataList:
[
{
udid: string ,
location: string ,
sizeInBytes: integer ,
uploadStatus: string ,
}
,
]
,
}
,
}

⚐ Response (400)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (401)

{
$headers:
{
www-authenticate: string ,
}
,
$schema:
{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}
,
}

⚐ Response (403)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (404)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}

⚐ Response (500)

{
error:
{
code: string ,
message: string ,
details:
[
string ,
]
,
target: string ,
}
,
}